Currently, certain applications provide a user with the possibility of modifying the information of a given digital image. These applications usually provide cursors allowing the user to modify this information, such as, for example, cursors for modifying the contrast, the luminosity or the colors of the image.
The information of an image is stored in the pixels of the image. Usually the pixels of an image comprise three colorimetric components which define a colorimetric space which contains the luminosity, contrast and color information. The image format most widely used is the “RGB” (red, green, blue) format in which each pixel of the image comprises three components, red, green, blue, which make it possible to represent a colorimetric space that can be seen by the human eye.
When digital images encoded on 8 bits are used, each colorimetric component has a value included in a colorimetric range [0; 255]. When the image is encoded on 16 bits, this colorimetric range is equal to [0; 65535], etc.
There are other digital-image formats. The “YUV” format or “luminance, blue chrominance and red chrominance”, the “Lab” format or “brightness, range of the red-green axis and range of the yellow-blue axis”, the “HSB” or “hue, saturation and brightness” format etc.
All these formats have in common the fact that they define each pixel of the digital image with the aid of three components, for example by the triplet (I1, I2, I3), which define a colorimetric space.
In addition, the colorimetric components belong to colorimetric ranges which differ depending on the image formats.
For example, the “Lab” format uses an identical colorimetric range [0; 100] for each colorimetric component. But the “HSB” format uses a colorimetric range [0; 1] for the Saturation and Brightness components and a second different colorimetric range [0; 360] for the Hue component.
Therefore, when the user wishes to modify the information of the image, for example by choosing to increase the contrast of the image that he views for example on a screen, he will increase the values of the colorimetric components of each pixel of the image. The application of image processing can therefore modify the value of a colorimetric component so that the modified value is outside the colorimetric range associated with the component. It is then said that there is a violation of the colorimetric space because this modified value cannot be taken into account. These applications are therefore provided with a step which converts the modified value to a default value.
FIG. 1 illustrates schematically an example of conversion that is usually used to prevent a violation of the colorimetric space of a given digital image.
Shown in FIG. 1 is an example of a distribution D1 of the pixels of the image as a function of the values D of a colorimetric component of the pixels. On the X-axis, the positions of the pixels in the image are shown. In this example, the colorimetric range corresponding to the colorimetric component is equal to [0; 255]. Also shown in cross-hatching is a first zone Z1 in which the value of the colorimetric component is strictly above 255 and a second zone Z2 in which the value of the colorimetric component is strictly below 0. These two zones Z1, Z2 correspond to a violation of the colorimetric space.
FIG. 2 shows as a dashed line the effect of an increase in the contrast of the image. This modification causes a new distribution D2 of the pixels of the image as a function of the values D of the colorimetric component and certain modified values may be in the violation zones Z1, Z2.
FIG. 3 shows a first example of conversion for preventing the modified values being outside the colorimetric range. In this example, the modified values which are in the first zone Z1 take the default value 255, that is to say that they take the value of the upper limit of the colorimetric range. Moreover, the modified values that are in the second zone Z2 take the default value 0, that is to say that they take the value of the lower limit of the colorimetric range. The modified values that are in the colorimetric range [0; 255] retain their values. This then gives a new distribution D3 of the pixels of the image as a function of the values D of the colorimetric component shown in thick dashes in FIG. 3.
FIG. 4 shows another example of conversion in which the modified values are transferred from the lower limit of the colorimetric range, when the modified values are strictly above 255, and are based on the upper limit of the colorimetric range when the modified values are strictly below 0. This then gives another distribution D4 of the pixels of the image as a function of the values D of the colorimetric component, shown in thick dashes in FIG. 4.
But although these methods make it possible to control the violations of the colorimetric space of an image, they do not allow the user to see whether the modification that he required is permitted or not. This means that the user has no way of knowing whether the modified values are outside the colorimetric ranges corresponding to the colorimetric components of the pixels.
Specifically, the current image processing techniques automatically control any violation of the colorimetric space without informing the user that a violation of the colorimetric space has occurred.
Moreover, the assignment of the modified values situated outside the colorimetric ranges to default values does not allow the user to correctly view these violations because the image thus converted is, for the human eye, close to the original image.
In other words, the violation information is submerged in the image.